<%@ page pageEncoding="UTF-8" %>
<%@ page import="util.*" %>
<%@ page import="entidades.*" %>

<%@ page import="java.util.Map" %>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.HashMap" %>
<%@ page import="java.util.LinkedList" %>
<%@ page import="com.google.gson.Gson" %>
<%@ page import="com.google.gson.JsonObject" %>
<%@ page import="com.google.gson.reflect.TypeToken" %>

<%
String svc = request.getParameter("service");

if(svc != null)
    {
	String resultado = "";

	try{
		// El servicio 'fecha_fin' calcula los tiempos que les llevaria a las uteco realizan determinadas tareas.
		if(svc.compareTo("fechas_fin") == 0)
			{
			List<Map<String,String>> datos = new Gson().fromJson(request.getParameter("datos"),  new TypeToken<List<Map<String,String>>>(){}.getType());
			List<Map> fechas = new LinkedList();

			for(int i=0; i<datos.size(); i++)
				{
				int utecoId = Integer.parseInt(datos.get(i).get("id"));
				long metros = Integer.parseInt(datos.get(i).get("metros"));
				Date fechaHoraInicio = Util.parseDatetime(datos.get(i).get("fechaHoraInicio"));
				Date fechaHoraFin = Uteco.calcularFechaFin(utecoId, fechaHoraInicio, metros);

				Map fecha = new HashMap();
				fecha.put("utecoId", utecoId);
				fecha.put("fecha", Util.format(fechaHoraFin, "dd/MM/yyyy HH:mm:ss"));
				fechas.add(fecha);
				}

			resultado = Json.getOkMsj("fechas", fechas);
			}

		}catch(Exception e)
			{ resultado = Json.getErrorMsj(e); e.printStackTrace(); }

	out.print(resultado);
    }
%>
